]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gdm: Increase the verification failed counter once we've a failure
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Mon, 8 Feb 2021 17:43:16 +0000 (18:43 +0100)
committerRay Strode <halfline@gmail.com>
Mon, 15 Feb 2021 16:58:50 +0000 (16:58 +0000)
Decouple the verification failure count increase from
_verificationFailed as there are some cases in which we may want to
increase it without emitting a verification-failed signal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1652>

js/gdm/util.js

index 969e1266824bd3dafa33df82a7f7b95a15d5782a..0a275d50e23b7dae2917daf9264bdd92e27b0218 100644 (file)
@@ -384,6 +384,7 @@ var ShellUserVerifier = class {
         this._hold.release();
 
         this._queueMessage(_("Authentication error"), MessageType.ERROR);
+        this._failCounter++;
         this._verificationFailed(serviceName, false);
     }
 
@@ -609,7 +610,6 @@ var ShellUserVerifier = class {
         // Otherwise, when in login mode we allow ALLOWED_FAILURES attempts.
         // After that, we go back to the welcome screen.
 
-        this._failCounter++;
         let canRetry = retry && this._userName &&
             (this._reauthOnly ||
              this._failCounter < this._settings.get_int(ALLOWED_FAILURES_KEY));
@@ -660,8 +660,10 @@ var ShellUserVerifier = class {
         // if the password service fails, then cancel everything.
         // But if, e.g., fingerprint fails, still give
         // password authentication a chance to succeed
-        if (this.serviceIsForeground(serviceName))
+        if (this.serviceIsForeground(serviceName)) {
+            this._failCounter++;
             this._verificationFailed(serviceName, true);
+        }
     }
 };
 Signals.addSignalMethods(ShellUserVerifier.prototype);